<script>
export default {
  onLaunch: function () {
    console.log('App Launch')
    // 配置请求基础地址
    this.configureRequest()
  },
  onShow: function () {
    console.log('App Show')
  },
  onHide: function () {
    console.log('App Hide')
  },
  methods: {
    // 配置请求
    configureRequest() {
      // 设置请求基础地址
      uni.setStorageSync('apiBaseUrl', 'http://localhost:8080')
      
      // 请求拦截器
      uni.addInterceptor('request', {
        invoke(args) {
          // 获取token
          const token = uni.getStorageSync('token')
          if (token) {
            if (!args.header) {
              args.header = {}
            }
            args.header['satoken'] = token
          }
          return args
        },
        success(args) {
          // 请求成功后的处理
          return args
        },
        fail(err) {
          console.error('请求失败:', err)
          return err
        },
        complete(res) {
          // 处理401未授权
          if (res.statusCode === 401 || (res.data && res.data.status === 401)) {
            // 清除token
            uni.removeStorageSync('token')
            uni.removeStorageSync('userInfo')
            
            // 跳转到登录页
            uni.reLaunch({
              url: '/pages/login/login'
            })
          }
          return res
        }
      })
    }
  }
}
</script>

<style>
/*每个页面公共css */
@import './static/iconfont.css';

page {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  background-color: #f8f8f8;
  color: #333;
}
</style>
